Introduction

   This program was written as part of the process of updating Font Pro Volume 2, Types of Distinction. As part of that update, I reexamined kerning. Beginning with a list of kerning pairs, this program can show which items from that list are not included in a particular typeface. I then used this list of missing pairs with Fontographer 4 to decide which missing pairs were worth adding.

   A secondary goal was to practice programming. I enjoy programming, but there is a great deal I do not know about programming the Macintosh. One learns by doing, so this program was polished beyond personal need. It is a very specialized program, but if any one finds it useful, he/she is welcome to use it as long as he/she has obtained it legally. (Version 1.1.1 corrects all the bugs of which I am aware. Undoubtedly others remain. Use at your own risk.)

   The program has two functions. First, it allows one to read in the kerning pairs from two typefaces using their AFM (Adobe Font Metrics) files and compare them. The program separates all the pairs into those which are common to both fonts, those that are only in the first, and those only in the second. These lists can be saved. Second, the program allows one to scan a folder and tell how many kerning pairs are in each of the AFM files within that folder, or to examine any other line from a group of AMF files. One of the shortcomings of the program is that scanning AMF files can be a very slow operation if one has a great many AFM files. 

  KernMaster is copyrighted 1994 by Robert Schenk. It may not be resold or distributed in any way without the author's written permission. He can be reached at:
     424 W Jackson
     Rensselaer, IN 47978

Below is a explanation of the program by menu item.

Apple Menu

About Application...

This item displays an Alert with the name of the program.

File Menu

Open First Font & Open Second Font

   When KernMaster begins, it opens to the "Pair of Kerning Pairs" window. You are invited to open two fonts for comparison.
   If you open a AFM file which has been corrupted, you may get strange results. 
   There may be times when you want to open a list of kerning pairs which are not in AFM format. You are allowed to do this, though if you open a TEXT file which does not have an AFM suffix, you will get a warning message. 
   This version of KernMaster is limited to 4000 pairs of kerning pairs. There may be a few typefaces out there with more, and if they are read in, only the first 4000 pairs will be read.

Compare

   Once you have entered two AFM files (or lists), you are allowed to compare them. The comparison separates the pairs into three lists, which you can then save. If you would like to save just the kerning pairs in one typeface, Enter that typeface as both the first and second font, and when you compare them, all the pairs will be in the middle column. If you would like to save all three columns in one file, use the commands in the Edit menu to paste two of the columns into the third, and save.

Close Window

   The only reason for this command is to allow one to close a window with the CMD-W keypress. The initial window should not be closeable. If you find a way to close it, you have found a bug.
Note that if one closes a window, the information on that window will be lost. No warning is given.

Compare Options

   This brings up a dialog box which allows one to change three ways the files are processed. Normally one would not want to alter them. The first decides whether the program will convert several common  punctuation terms (period, comma, quotesingle) into their symbols (.,'). The second decides whether a final line telling how many pairs are in the column will be added. The third decides whether the lists will be alphabetized before the comparison is made. (If it is not, you may get peculiar results.)

Scan Options
 
   This command allows one to decide what items to examine in a group of AMF files. If, for example, one wants to see the notice in each, one can specify it. To know what items will work and in which order they must be placed, print out an AMF file. Unless you know what goes where in an AMF file, you will be lost in KernMaster. The program limits one to four items per AMF file.

Scan for AFMs

   This command leads to a standard file open dialog box. Select a file in the folder you want to scan, and prepare to wait. This process is quite slow, especially if one has a great number of AFM files. The program looks at the third line to get the font name. It then reads through the file until it comes to a line which begins with StartCharMetrics, and reads the number at the end of the line as the number of characters in the typeface. Finally it scans through the file until it comes to the line which reads StartKernPairs, and reads the number after it as the number of kerning pairs in the typeface. (These are the three things it does unless you change them in the Scan Options dialog.) It only examines files which are TEXT files with a suffix of .AFM or .afm. 
   The program dumps the result into an edit field, which has a limit of about 32,000 characters. If one scans too many typefaces, one may exceed that limit. The program tries to protect against this possibility, so if it quits before it should, you may have reached an upper limit.
   When all the files have been processed, a button appears which allows one to save the listing as a TeachText file.

Quit

   This command causes the program to terminate. (If you get caught in a long process and want to abort the program, holding down option-command-esc will work if you are running System 7. This combination works for almost all programs.)

Edit Menu

   The items in this menu are only active when the Compare window is active. They operate in the standard way.

Help Menu

   If you are reading this, you probably figured out how to get the Help command to work.

********

   If you have suggestions which would increase the usefulness of this program, I would like to hear them, though I cannot promise I will use them. There are some improvements I would like to make, but do not know how. Maybe your suggestions will be easier to implement. Or if you see alternative use for the structure in this program, I would like to hear that as well. My address is given above, and I can also be reached electronically at bobs@saintjoe.edu